package com.oldbook.manage.auto;


import com.oldbook.common.core.domain.entity.SysUser;
import com.oldbook.common.utils.SecurityUtils;
import com.oldbook.system.service.impl.SysUserServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("creditCheck")
public class CreditCheck {

    @Autowired
    private SysUserServiceImpl userService;

    /**
     * 校验当前登录用户的诚信值是否有效
     *
     * 函数通过安全工具获取当前登录用户的学生ID，查询对应的用户信息，
     * 根据用户信用分判断是否满足业务操作条件（信用分≥60）
     *
     * @return boolean 信用校验结果，true表示信用有效允许操作，false表示信用不足
     */
    public boolean isCreditValid() {
        // 从安全上下文获取当前登录用户信息
        String studentId = SecurityUtils.getLoginUser().getUser().getStudentId();

        // 根据学号查询完整的用户数据对象
        SysUser user = userService.selectUserByStudentId(studentId);

        // 返回信用评分校验结果（阈值60分）
        return user.getCreditScore() >= 60; // 诚信值≥60才允许操作
    }

}